<?php
    include_once "ModelACTION.php";

    class ProdutoAction extends ModelAction {

        public function ProdutoAction(){
            /*
            if (!isset($_SESSION)){
                session_start();
            }*/

            $DAOf = DAOFactory::getInstancia();
            $objProdutoDAO = $DAOf->getProdutoDAO();
            
            parent::__construct($objProdutoDAO);
            
        }

        public function obterPorId($value){

            if(is_object($value)){
                if($value instanceof Produto){
                    if($value->getId() != null){
                        $objeto = parent::obterPorId($value);
                    }
                }
            } else {
                $VOBf = VOBFactory::getInstancia();
                $objProduto = $VOBf->getProduto();
                $objProduto->setId($value);
                
                $objeto = parent::obterPorId($objProduto);
            }

            return $objeto;
        }
       
        /*
         * ProdutoAction::validarSalvar
         */
        private function validarSalvar(Produto $objProduto){
            return true;
        }

        public function salvar(Produto $objProduto){

            if($this->validarSalvar($objProduto)){
                return parent::salvar($objProduto);
            }           
            
        }

        public function deletar(Produto $objProduto){
            return parent::deletar($objProduto);
        }

        

        public function  obterSoma(array $coluns, $colunSoma, $where = "") {

            $VOBf = VOBFactory::getInstancia();
            $objProduto = $VOBf->getProduto();
            
            return parent::obterSoma($objProduto, $coluns, $colunSoma, $where);
            
        }
        
    }

?>
